table of contents
talloc_string(3) | talloc | talloc_string(3) |
NAME¶
talloc_string - talloc string allocation and manipulation functions.
SYNOPSIS¶
Modules¶
The talloc debugging support functions
To aid memory debugging, talloc contains routines to inspect the currently
allocated memory hierarchy.
Functions¶
_PUBLIC_ char * talloc_strdup (const void *t, const char
*p)
Duplicate a string into a talloc chunk. _PUBLIC_ char *
talloc_strdup_append (char *s, const char *a)
Append a string to given string. _PUBLIC_ char *
talloc_strdup_append_buffer (char *s, const char *a)
Append a string to a given buffer. _PUBLIC_ char * talloc_strndup
(const void *t, const char *p, size_t n)
Duplicate a length-limited string into a talloc chunk. _PUBLIC_ char *
talloc_strndup_append (char *s, const char *a, size_t n)
Append at most n characters of a string to given string. _PUBLIC_ char *
talloc_strndup_append_buffer (char *s, const char *a, size_t n)
Append at most n characters of a string to given buffer. _PUBLIC_ char *
talloc_vasprintf (const void *t, const char *fmt, va_list ap)
Format a string given a va_list. _PUBLIC_ char *
talloc_vasprintf_append (char *s, const char *fmt, va_list ap)
Format a string given a va_list and append it to the given destination string.
_PUBLIC_ char * talloc_vasprintf_append_buffer (char *s, const char
*fmt, va_list ap)
Format a string given a va_list and append it to the given destination buffer.
_PUBLIC_ void talloc_asprintf_addbuf (char **ps, const char *fmt,...)
Build up a string buffer, handle allocation failure. _PUBLIC_ char *
talloc_asprintf (const void *t, const char *fmt,...)
Format a string. _PUBLIC_ char * talloc_asprintf_append (char *s, const
char *fmt,...)
Append a formatted string to another string. _PUBLIC_ char *
talloc_asprintf_append_buffer (char *s, const char *fmt,...)
Append a formatted string to another string.
Detailed Description¶
talloc string allocation and manipulation functions.
Function Documentation¶
_PUBLIC_ char* talloc_asprintf (const void * t, const char * fmt, ...)¶
Format a string. This function is the talloc equivalent of the C library function asprintf(3).
This functions sets the name of the new pointer to the new string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
Parameters:
fmt The format string.
... The parameters used to fill fmt.
Returns:
_PUBLIC_ void talloc_asprintf_addbuf (char ** ps, const char * fmt, ...)¶
Build up a string buffer, handle allocation failure.
Parameters:
fmt The format string
... The parameters used to fill fmt.
This does nothing if *ps is NULL and sets *ps to NULL if the intermediate reallocation fails. Useful when building up a string step by step, no intermediate NULL checks are required.
_PUBLIC_ char* talloc_asprintf_append (char * s, const char * fmt, ...)¶
Append a formatted string to another string. This function appends the given formatted string to the given string. Use this variant when the string in the current talloc buffer may have been truncated in length.
This functions sets the name of the new pointer to the new string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
If s == NULL then new context is created.
Parameters:
fmt The format string.
... The parameters used to fill fmt.
Returns:
_PUBLIC_ char* talloc_asprintf_append_buffer (char * s, const char * fmt, ...)¶
Append a formatted string to another string. This is a more efficient version of talloc_asprintf_append(). It determines the length of the destination string by the size of the talloc context.
Use this very carefully as it produces a different result than talloc_asprintf_append() when a zero character is in the middle of the destination string.
char *str_a = talloc_strdup(NULL, "hello world"); char *str_b = talloc_strdup(NULL, "hello world"); str_a[5] = str_b[5] = ' ' char *app = talloc_asprintf_append(str_a, "%s", ", hello"); char *buf = talloc_strdup_append_buffer(str_b, "%s", ", hello"); printf("%s0, app); // hello, hello (app = "hello, hello") printf("%s0, buf); // hello (buf = "hello world, hello")
If s == NULL then new context is created.
Parameters:
fmt The format string.
... The parameters used to fill fmt.
Returns:
See also:
talloc_asprintf_append()
_PUBLIC_ char* talloc_strdup (const void * t, const char * p)¶
Duplicate a string into a talloc chunk. This function is equivalent to:
ptr = talloc_size(ctx, strlen(p)+1); if (ptr) memcpy(ptr, p, strlen(p)+1);
This functions sets the name of the new pointer to the passed string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
Parameters:
p The string you want to duplicate.
Returns:
_PUBLIC_ char* talloc_strdup_append (char * s, const char * a)¶
Append a string to given string. The destination string is reallocated to take strlen(s) + strlen(a) + 1 characters.
This functions sets the name of the new pointer to the new string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
If s == NULL then new context is created.
Parameters:
a The string you want to append.
Returns:
See also:
talloc_strdup_append_buffer()
_PUBLIC_ char* talloc_strdup_append_buffer (char * s, const char * a)¶
Append a string to a given buffer. This is a more efficient version of talloc_strdup_append(). It determines the length of the destination string by the size of the talloc context.
Use this very carefully as it produces a different result than talloc_strdup_append() when a zero character is in the middle of the destination string.
char *str_a = talloc_strdup(NULL, "hello world"); char *str_b = talloc_strdup(NULL, "hello world"); str_a[5] = str_b[5] = ' ' char *app = talloc_strdup_append(str_a, ", hello"); char *buf = talloc_strdup_append_buffer(str_b, ", hello"); printf("%s0, app); // hello, hello (app = "hello, hello") printf("%s0, buf); // hello (buf = "hello world, hello")
If s == NULL then new context is created.
Parameters:
a The string you want to append.
Returns:
See also:
talloc_strdup_append()
talloc_array_length()
_PUBLIC_ char* talloc_strndup (const void * t, const char * p, size_t n)¶
Duplicate a length-limited string into a talloc chunk. This function is the talloc equivalent of the C library function strndup(3).
This functions sets the name of the new pointer to the passed string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
Parameters:
p The string you want to duplicate.
n The maximum string length to duplicate.
Returns:
_PUBLIC_ char* talloc_strndup_append (char * s, const char * a, size_t n)¶
Append at most n characters of a string to given string. The destination string is reallocated to take strlen(s) + strnlen(a, n) + 1 characters.
This functions sets the name of the new pointer to the new string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
If s == NULL then new context is created.
Parameters:
a The source string you want to append.
n The number of characters you want to append from the string.
Returns:
See also:
talloc_strndup_append_buffer()
_PUBLIC_ char* talloc_strndup_append_buffer (char * s, const char * a, size_t n)¶
Append at most n characters of a string to given buffer. This is a more efficient version of talloc_strndup_append(). It determines the length of the destination string by the size of the talloc context.
Use this very carefully as it produces a different result than talloc_strndup_append() when a zero character is in the middle of the destination string.
char *str_a = talloc_strdup(NULL, "hello world"); char *str_b = talloc_strdup(NULL, "hello world"); str_a[5] = str_b[5] = ' ' char *app = talloc_strndup_append(str_a, ", hello", 7); char *buf = talloc_strndup_append_buffer(str_b, ", hello", 7); printf("%s0, app); // hello, hello (app = "hello, hello") printf("%s0, buf); // hello (buf = "hello world, hello")
If s == NULL then new context is created.
Parameters:
a The source string you want to append.
n The number of characters you want to append from the string.
Returns:
See also:
talloc_strndup_append()
talloc_array_length()
_PUBLIC_ char* talloc_vasprintf (const void * t, const char * fmt, va_list ap)¶
Format a string given a va_list. This function is the talloc equivalent of the C library function vasprintf(3).
This functions sets the name of the new pointer to the new string. This is equivalent to:
talloc_set_name_const(ptr, ptr)
Parameters:
fmt The format string.
ap The parameters used to fill fmt.
Returns:
_PUBLIC_ char* talloc_vasprintf_append (char * s, const char * fmt, va_list ap)¶
Format a string given a va_list and append it to the given destination string.
Parameters:
fmt The format string.
ap The parameters used to fill fmt.
Returns:
See also:
Format a string given a va_list and append it to the given destination string.
Good for gradually accumulating output into a string buffer. Appends at the end of the string.
_PUBLIC_ char* talloc_vasprintf_append_buffer (char * s, const char * fmt, va_list ap)¶
Format a string given a va_list and append it to the given destination buffer.
Parameters:
fmt The format string.
ap The parameters used to fill fmt.
Returns:
See also:
Format a string given a va_list and append it to the given destination buffer.
Always appends at the end of the talloc'ed buffer, not the end of the string.
Author¶
Generated automatically by Doxygen for talloc from the source code.
Fri Apr 19 2024 | Version 2.0 |